const path = require('path')
// 路径处理的函数
function resolve (dir) {
  return path.join(__dirname, dir)
}
// 导出配置对象
module.exports = {
  // webpack devserver 提供了代理的功能， 该 代理可以吧所有请求到当前服务非请求，转发（代理）到另外的一个服务器上
  devServer: {
    // 配置反向代理
    proxy: {
      // process.env.VUE_APP_BASE_API 从.env.development里获取VUE_APP_BASE_API变量
      [process.env.VUE_APP_BASE_API]: {
        // target: 'http://localhost:4523/mock/1153373',//代理服务
        target: 'http://127.0.0.1:4523/mock/1228420/ivp', // 代理服务
        changeOrigin: true, // 允许跨域
        pathRewrite: { // 重写路径
          // 因为mock里没有/api这个字段 所以要重写为空
          '^/api': ''
        }
      }
    }
  },
  configureWebpack: {
    resolve: {
      fallback: { path: require.resolve('path-browserify') }
    }
  },
  // 处理图标的
  chainWebpack (config) {
    // 设置 svg-sprite-loader
    config.module
      .rule('svg')
      .exclude.add(resolve('src/icons'))
      .end()
    config.module
      .rule('icons')
      .test(/\.svg$/)
      .include.add(resolve('src/icons'))
      .end()
      .use('svg-sprite-loader')
      .loader('svg-sprite-loader')
      .options({
        symbolId: 'icon-[name]'
      })
      .end()
  }
}
